package preprocesador;

public class PreProcesador {
	public static String REGEX_VARIAS_LINEAS = "/\\*(?:.|[\\n\\r])*?\\*/";
	public static String REGEX_UNA_LINEA = "$[#]+.*\\n";
	public static String REGEX_TABULACION = " \\t";	
	public static String REGEX_ESPACIO_DE_MAS = "\\s{2,}";	
	public static String REGEX_SALTO_DE_LINEA = "\\n";	
	
	public static String removerComentarioVariasLineas(String codigo) {
		return codigo.replaceAll(REGEX_VARIAS_LINEAS, "");
	}
	
	public static String removerComentarioUnaLinea(String codigo) {
		return codigo.replaceAll(REGEX_UNA_LINEA, "");
	}
	
	public static String removerTabulacion(String codigo) {
		return codigo.replaceAll(REGEX_TABULACION, "");
	}
	
	public static String removerEspacioDeMas(String codigo) {
		return codigo.replaceAll(REGEX_ESPACIO_DE_MAS, "");
	} 
	
	public static String removerSaltoDeLinea(String codigo) {
		return codigo.replaceAll(REGEX_SALTO_DE_LINEA, "");
	} 
	
	public static String removerComentarios (String codigo) {		
		codigo = removerComentarioVariasLineas(codigo);
		codigo = removerComentarioVariasLineas(codigo);
		codigo = removerEspacioDeMas(codigo);
		codigo = removerTabulacion(codigo);
		codigo = removerSaltoDeLinea(codigo);
		
		return codigo;
	}

}
